Skip to content

Commit 44f2912

Browse files
committed
Updates
1 parent 7e7ae76 commit 44f2912

15 files changed

Lines changed: 39 additions & 38 deletions

File tree

modules/packed-incubator/packed-incubator-cli/src/main/java/app/packed/cli/other/PackedCliApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import app.packed.application.App;
1919
import app.packed.application.BootstrapApp;
2020
import app.packed.assembly.Assembly;
21+
import app.packed.lifecycle.LifecycleKind;
2122
import app.packed.bean.Bean;
2223
import app.packed.container.Wirelet;
2324
import app.packed.lifecycle.RunState;
@@ -75,7 +76,7 @@ public static void verify(Assembly assembly) {
7576
*/
7677
private static BootstrapApp<Void> bootstrap() {
7778
class ServiceLocatorBootstrap {
78-
private static final BootstrapApp<Void> APP = BootstrapApp.ofManaged(Bean.of(Void.class));
79+
private static final BootstrapApp<Void> APP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(Void.class));
7980
}
8081
return ServiceLocatorBootstrap.APP;
8182
}

modules/packed-incubator/packed-incubator-concurrent/src/main/java/app/packed/concurrent/job/app/PackedJobApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import app.packed.application.BootstrapApp;
2424
import app.packed.bean.Bean;
25+
import app.packed.lifecycle.LifecycleKind;
2526
import app.packed.component.SidehandleBinding;
2627
import app.packed.component.SidehandleContext;
2728
import app.packed.lifecycle.RunState;
@@ -37,7 +38,7 @@
3738
final class PackedJobApp implements JobApp {
3839

3940
/** The bootstrap app for this application. */
40-
public static final BootstrapApp<PackedJobApp> BOOTSTRAP_APP = BootstrapApp.ofManaged(Bean.of(PackedJobApp.class));
41+
public static final BootstrapApp<PackedJobApp> BOOTSTRAP_APP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(PackedJobApp.class));
4142

4243
/** Manages the lifecycle of the app. */
4344
private final ManagedLifecycle lifecycle;

modules/packed-module-tests/src/main/java/app/packed/moduletests/isopen/NewApp.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import app.packed.application.BootstrapApp;
2121
import app.packed.bean.Bean;
22+
import app.packed.lifecycle.LifecycleKind;
2223
import app.packed.component.SidehandleBinding;
2324
import app.packed.component.SidehandleContext;
2425
import app.packed.lifecycle.runtime.ManagedLifecycle;
@@ -31,12 +32,12 @@ static final class PackedApp {
3132

3233
/** The bootstrap app for this application. */
3334
// Hmm, read of constructor, think we need module expose to packed, should probably be in the docs somewhere
34-
public static final BootstrapApp<PackedApp> BOOTSTRAP_APP = BootstrapApp.ofManaged(Bean.of(PackedApp.class));
35+
public static final BootstrapApp<PackedApp> BOOTSTRAP_APP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(PackedApp.class));
3536

3637
PackedApp(@SidehandleBinding(FROM_CONTEXT) ManagedLifecycle lc, SidehandleContext context) {
3738
}
3839
}
3940
public static void main(String[] args) {
40-
BootstrapApp.ofManaged(Bean.of(PackedApp.class));
41+
BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(PackedApp.class));
4142
}
4243
}

modules/packed-module-tests/src/main/java/app/packed/moduletests/notopen/NewApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import app.packed.application.BootstrapApp;
1919
import app.packed.bean.Bean;
20+
import app.packed.lifecycle.LifecycleKind;
2021

2122
/**
2223
*
@@ -25,6 +26,6 @@ public class NewApp {
2526
static final class PackedApp {}
2627

2728
public static void main(String[] args) {
28-
BootstrapApp.ofManaged(Bean.of(PackedApp.class));
29+
BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(PackedApp.class));
2930
}
3031
}

modules/packed/src/main/java/app/packed/application/BootstrapApp.java

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -190,28 +190,15 @@ default BootstrapApp<I> withWirelets(boolean before, Wirelet... wirelets) {
190190
throw new UnsupportedOperationException();
191191
}
192192

193-
static <A> BootstrapApp<A> of(Bean<A> bean, LifecycleKind lifecycleKind) {
194-
//TODO_CLAUDE implement this method
195-
// And remove and replace usage of the two deprecated methods below
196-
// NONE should throw IllegalArgumentException
197-
198-
}
199-
/**
200-
* Creates a new {@link BootstrapApp} from the specified application template.
201-
*
202-
* @param template
203-
* the application template to create the bootstrap app from
204-
* @return the new bootstrap app.
205-
*/
206-
// Alternativt tage en MethodHandles.lookup
207-
@Deprecated
208-
static <A> BootstrapApp<A> ofManaged(Bean<A> bean) {
209-
return PackedBootstrapApp.of(new PackedApplicationTemplate.Builder<>(bean).build());
210-
}
211-
212-
@Deprecated
213-
static <A, H extends ApplicationHandle<A, ?>> BootstrapApp<A> ofUnmanaged(Bean<A> bean) {
214-
return PackedBootstrapApp.of(new PackedApplicationTemplate.Builder<>(bean).unmanaged().build());
193+
static <A> BootstrapApp<A> of(LifecycleKind lifecycleKind, Bean<A> bean) {
194+
requireNonNull(bean, "bean is null");
195+
requireNonNull(lifecycleKind, "lifecycleKind is null");
196+
PackedApplicationTemplate.Builder<A> builder = new PackedApplicationTemplate.Builder<>(bean);
197+
return switch (lifecycleKind) {
198+
case NONE -> throw new IllegalArgumentException("LifecycleKind.NONE is not supported for BootstrapApp");
199+
case UNMANAGED -> PackedBootstrapApp.of(builder.unmanaged().build());
200+
case MANAGED -> PackedBootstrapApp.of(builder.build());
201+
};
215202
}
216203

217204
/**

modules/packed/src/main/java/app/packed/application/PackedApp.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import app.packed.bean.Bean;
2323
import app.packed.binding.Key;
24+
import app.packed.lifecycle.LifecycleKind;
2425
import app.packed.component.SidehandleBinding;
2526
import app.packed.component.SidehandleContext;
2627
import app.packed.lifecycle.RunState;
@@ -33,7 +34,7 @@
3334
final class PackedApp implements App {
3435

3536
/** The bootstrap app for this application. */
36-
public static final BootstrapApp<PackedApp> BOOTSTRAP_APP = BootstrapApp.ofManaged(Bean.of(PackedApp.class));
37+
public static final BootstrapApp<PackedApp> BOOTSTRAP_APP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(PackedApp.class));
3738

3839
/** Manages the lifecycle of the app. */
3940
private final ManagedLifecycle lifecycle;

modules/packed/src/main/java/app/packed/service/ServiceLocator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import app.packed.application.ApplicationMirror;
3030
import app.packed.application.BootstrapApp;
3131
import app.packed.assembly.Assembly;
32+
import app.packed.lifecycle.LifecycleKind;
3233
import app.packed.bean.Bean;
3334
import app.packed.bean.BeanIntrospector;
3435
import app.packed.bean.BeanTrigger.AutoInject;
@@ -320,7 +321,7 @@ private static BootstrapApp<ServiceLocator> bootstrap() {
320321
// ServiceLocatorBootstrap because we cannot have private static fields on interfaces
321322
class ServiceLocatorBootstrap {
322323
private static final BootstrapApp<ServiceLocator> APP = BootstrapApp
323-
.ofUnmanaged(Bean.<ServiceLocator>of(new Op1<@SidehandleBinding(FROM_CONTEXT) ServiceLocator, ServiceLocator>(e -> e) {}));
324+
.of(LifecycleKind.UNMANAGED, Bean.<ServiceLocator>of(new Op1<@SidehandleBinding(FROM_CONTEXT) ServiceLocator, ServiceLocator>(e -> e) {}));
324325
}
325326
return ServiceLocatorBootstrap.APP;
326327
}

modules/packed/src/main/java/internal/app/packed/application/AaaTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import app.packed.application.ApplicationMirror;
2424
import app.packed.application.BootstrapApp;
2525
import app.packed.assembly.BaseAssembly;
26+
import app.packed.lifecycle.LifecycleKind;
2627
import app.packed.bean.Bean;
2728
import app.packed.component.SidehandleBinding;
2829
import app.packed.component.SidehandleContext;
@@ -76,7 +77,7 @@ public void onstop() throws InterruptedException {
7677
static final class AApp implements App {
7778

7879
/** The bootstrap app for this application. */
79-
public static final BootstrapApp<AApp> BOOTSTRAP_APP = BootstrapApp.ofManaged(Bean.of(AApp.class));
80+
public static final BootstrapApp<AApp> BOOTSTRAP_APP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(AApp.class));
8081

8182
/** Manages the lifecycle of the app. */
8283
private final ManagedLifecycle lifecycle;

modules/packed/src/main/java/internal/app/packed/service/ServiceComposerLocator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import app.packed.application.BootstrapApp;
2121
import app.packed.assembly.AbstractComposer;
22+
import app.packed.lifecycle.LifecycleKind;
2223
import app.packed.assembly.AbstractComposer.ComposableAssembly;
2324
import app.packed.assembly.AbstractComposer.ComposerAction;
2425
import app.packed.assembly.Assembly;
@@ -43,7 +44,7 @@ public class ServiceComposerLocator {
4344
private static BootstrapApp<ServiceLocator> bootstrap() {
4445
class ServiceLocatorBootstrap {
4546
private static final BootstrapApp<ServiceLocator> APP = BootstrapApp
46-
.ofUnmanaged(Bean.<ServiceLocator>of(new Op1<@SidehandleBinding(FROM_CONTEXT) ServiceLocator, ServiceLocator>(e -> e) {}));
47+
.of(LifecycleKind.UNMANAGED, Bean.<ServiceLocator>of(new Op1<@SidehandleBinding(FROM_CONTEXT) ServiceLocator, ServiceLocator>(e -> e) {}));
4748
}
4849
return ServiceLocatorBootstrap.APP;
4950
}

modules/packed/src/main/java/sandbox/application/Te.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import app.packed.application.ApplicationMirror;
2121
import app.packed.application.BootstrapApp;
2222
import app.packed.bean.Bean;
23+
import app.packed.lifecycle.LifecycleKind;
2324
import app.packed.component.SidehandleBinding;
2425

2526
/**
@@ -54,7 +55,7 @@
5455
public final class Te {
5556

5657
/** The bootstrap app. */
57-
private static final BootstrapApp<Holder> BOOTSTRAP = BootstrapApp.ofManaged(Bean.of(Holder.class));
58+
private static final BootstrapApp<Holder> BOOTSTRAP = BootstrapApp.of(LifecycleKind.MANAGED, Bean.of(Holder.class));
5859

5960
public static void main(String[] args) {
6061
BOOTSTRAP.getClass();

0 commit comments

Comments
 (0)